/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package servlet;

import com.oreilly.servlet.MultipartRequest;
import java.io.File;
import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.sql.SQLException;
import javax.servlet.http.HttpSession;
import viviendas.Conexion;

/**
 *
 * @author SIDR
 */
public class SubirProyect extends HttpServlet {

    /**
     * Processes requests for both HTTP
     * <code>GET</code> and
     * <code>POST</code> methods.
     *
     * @param request servlet request
     * @param response servlet response
     * @throws ServletException if a servlet-specific error occurs
     * @throws IOException if an I/O error occurs
     */
    public class SubirProyectos extends Conexion {

        protected void processRequest(HttpServletRequest request, HttpServletResponse response)
                throws ServletException, IOException {
            HttpSession session = request.getSession();
            
            
            try {
               new File(getDireccion("/img/proyectos")).mkdir();
            MultipartRequest multi = new MultipartRequest(request, getDireccion("/img/proyectos"), 5 * 1024 * 1024);
            
                if (multi.getParameter("id_proyecto") != null) {
                    String accion = multi.getParameter("accion");
                    int id_proyecto = Integer.parseInt(multi.getParameter("id_proyecto"));
                    String nombre = multi.getParameter("Nombre");
                    String logo = multi.getFile("Logo") != null ? multi.getFile("Logo").getName() : "";
                    String ubicacion = multi.getParameter("Ubicaion");
                    String descripcion = multi.getParameter("descripcion");



                    if (accion.equalsIgnoreCase("insertar")) {
                        save("insert into proyectos ( Nombre, Logo, Ubicaion,descripcion) values("
                                + " " + nombre + " "
                                + ", '" + logo + "'"
                                + ", '" + ubicacion + "'"
                                + ", '" + descripcion + "'"
                                + ")");
                        setSuccessMessage("Proyecto creado exitosamente.");
                        
                    } else if (accion.equalsIgnoreCase("actualizar")) {
                        update("update proyectos set "
                                + "Nombre= " + nombre + ""
                                + ", Logo = '" + logo + "'"
                                + ", Ubicaion = '" + ubicacion + "'"
                                + ", descripcion = '" + descripcion + "'"
                                + " where id_proyecto = " + id_proyecto);
                        setSuccessMessage("Proyecto actualizado exitosamente.");
                        
                    } else if (accion.equalsIgnoreCase("Borrar")) {
                        delete("delete from proyectos where id_proyecto= " + id_proyecto);
                        setSuccessMessage("proyecto eliminado exitosamente.");
                    }
                }
            } catch (SQLException ex) {
                System.out.println("Error en mantenimiento subir proyectos" + ex.getMessage());
            } finally {
                session.setAttribute("successMessage", getSuccessMessage());
                session.setAttribute("errorMessage", getErrorMessage());
                setSuccessMessage("");
                setErrorMessage("");
                response.sendRedirect("subirProyecto.jsp");
            }
        }

        // <editor-fold defaultstate="collapsed" desc="HttpServlet methods. Click on the + sign on the left to edit the code.">
        /**
         * Handles the HTTP
         * <code>GET</code> method.
         *
         * @param request servlet request
         * @param response servlet response
         * @throws ServletException if a servlet-specific error occurs
         * @throws IOException if an I/O error occurs
         */
        @Override
        protected void doGet(HttpServletRequest request, HttpServletResponse response)
                throws ServletException, IOException {
            processRequest(request, response);
        }

        /**
         * Handles the HTTP
         * <code>POST</code> method.
         *
         * @param request servlet request
         * @param response servlet response
         * @throws ServletException if a servlet-specific error occurs
         * @throws IOException if an I/O error occurs
         */
        @Override
        protected void doPost(HttpServletRequest request, HttpServletResponse response)
                throws ServletException, IOException {
            processRequest(request, response);
        }

        /**
         * Returns a short description of the servlet.
         *
         * @return a String containing servlet description
         */
        @Override
        public String getServletInfo() {
            return "Short description";
        }// </editor-fold>
}
    }
